home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / MPW Additions / Tools / MrCpp / MrCpp.rsrc / CODE_26_32-bit bootstrap.txt < prev    next >
Text File  |  1996-05-07  |  46KB  |  844 lines

  1. # near model CODE resource
  2. # jump table entries: 0-0 (1 of them)
  3. export_0:
  4. 00000000  7030                     moveq.l    D0, 0x30
  5. 00000002  A31E                     syscall    NewPtrClear, flags=3
  6. 00000004  4A40                     tst.w      D0
  7. 00000006  6672                     bne        +0x74 /* 0000007A */
  8. 00000008  3038 0934                move.w     D0, [0x00000934 /* CurJTOffset */]
  9. 0000000C  2B88 000C                move.l     [A5 + D0.w + 0xC], A0
  10. 00000010  4A78 028E                tst.w      [0x0000028E /* ROM85 */]
  11. 00000014  6D2E                     blt        +0x30 /* 00000044 */
  12. 00000016  303C A89F                move.w     D0, 0xA89F
  13. 0000001A  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  14. 0000001C  2248                     movea.l    A1, A0
  15. 0000001E  303C A090                move.w     D0, 0xA090
  16. 00000022  A346                     syscall    GetOSTrapAddress, flags=3
  17. 00000024  B3C8                     cmpa.l     A1, A0
  18. 00000026  671C                     beq        +0x1E /* 00000044 */
  19. 00000028  9EFC 0010                sub.w      A7, 0x10
  20. 0000002C  41D7                     lea.l      A0, [A7]
  21. 0000002E  7002                     moveq.l    D0, 0x02
  22. 00000030  A090                     syscall    SysEnvirons
  23. 00000032  0C68 0001 0006           cmpi.w     [A0 + 0x6], 0x1
  24. 00000038  56C0                     sne        D0
  25. 0000003A  41FA 0052                lea.l      A0, [PC + 0x52 /* 0000008E, value 0x83A, cstring "" */]
  26. 0000003E  1080                     move.b     [A0], D0
  27. 00000040  4FEF 0010                lea.l      A7, [A7 + 0x10]
  28. label00000044:
  29. 00000044  6100 01BC                bsr        +0x1BE /* 00000202 */
  30. 00000048  6100 00F4                bsr        +0xF6 /* 0000013E */
  31. 0000004C  6100 0146                bsr        +0x148 /* 00000194 */
  32. 00000050  41FA 0024                lea.l      A0, [PC + 0x24 /* 00000076, value 0x0, cstring "" */]
  33. 00000054  2097                     move.l     [A0], [A7]
  34. 00000056  204D                     movea.l    A0, A5
  35. 00000058  D0F8 0934                add.w      A0, [0x00000934 /* CurJTOffset */]
  36. 0000005C  4EA8 0012                jsr        [A0 + 0x12]
  37. 00000060  6100 01EC                bsr        +0x1EE /* 0000024E */
  38. 00000064  204D                     movea.l    A0, A5
  39. 00000066  D0F8 0934                add.w      A0, [0x00000934 /* CurJTOffset */]
  40. 0000006A  2068 000C                movea.l    A0, [A0 + 0xC]
  41. 0000006E  A01F                     syscall    DisposPtr/DisposePtr
  42. 00000070  207A 0004                movea.l    A0, [PC + 0x4 /* 00000076, value 0x0, cstring "" */]
  43. 00000074  4ED0                     jmp        [A0]
  44. 00000076  0000 0000                ori.b      D0, 0x0
  45. label0000007A:
  46. 0000007A  4E75                     rts
  47. 0000007C  800E                     or.b       D0, A6
  48. 0000007E  3332 5F62 6974 5F73      move.w     -[A1], [[A2 + 0x6974] + 0x5F73]
  49. 00000086  7461                     moveq.l    D2, 0x61
  50. 00000088  7274                     moveq.l    D1, 0x74
  51. 0000008A  7570                     moveq.l    D2, 0x70
  52. 0000008C  0000 0000                ori.b      D0, 0x0
  53. fn00000090:
  54. 00000090  083A 0000 FFFA           btst.b     [PC - 0x6 /* 0000008C, value 0x0, cstring "" */], 0x0
  55. 00000096  671E                     beq        +0x20 /* 000000B6 */
  56. 00000098  0C38 0000 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x0
  57. 0000009E  6716                     beq        +0x18 /* 000000B6 */
  58. 000000A0  303C A198                move.w     D0, 0xA198
  59. 000000A4  A346                     syscall    GetOSTrapAddress, flags=3
  60. 000000A6  2248                     movea.l    A1, A0
  61. 000000A8  303C A89F                move.w     D0, 0xA89F
  62. 000000AC  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  63. 000000AE  B3C8                     cmpa.l     A1, A0
  64. 000000B0  6704                     beq        +0x6 /* 000000B6 */
  65. 000000B2  7001                     moveq.l    D0, 0x01
  66. 000000B4  A198                     syscall    HWPriv, flags=1
  67. label000000B6:
  68. 000000B6  4E75                     rts
  69. 000000B8  800B                     or.b       D0, A3
  70. 000000BA  666C                     bne        +0x6E /* 00000128 */
  71. 000000BC  7573                     moveq.l    D2, 0x73
  72. 000000BE  685F                     bvc        +0x61 /* 0000011F */
  73. 000000C0  6361                     bls        +0x63 /* 00000123 */
  74. 000000C2  6368                     bls        +0x6A /* 0000012C */
  75. 000000C4  6500 0000                bcs        +0x2 /* 000000C6 */
  76. // begin alternate branch 000000C6-000000CA
  77. label000000C6:
  78. 000000C6  0000 205F                ori.b      D0, 0x5F /* '_' */
  79. // end alternate branch 000000C6-000000CA
  80. label000000C6: // (misaligned)
  81. 000000C8  205F                     movea.l    A0, [A7]+
  82. 000000CA  584F                     addq.w     A7, 4
  83. 000000CC  4257                     clr.w      [A7]
  84. 000000CE  4ED0                     jmp        [A0]
  85. 000000D0  800B                     or.b       D0, A3
  86. 000000D2  7072                     moveq.l    D0, 0x72
  87. 000000D4  655F                     bcs        +0x61 /* 00000135 */
  88. 000000D6  4C6F 6164 5365           movem.l    D2,D5,D6,A0,A5,A6, [A7 + 0x5365]
  89. 000000DC  6700 0000                beq        +0x2 /* 000000DE */
  90. // begin alternate branch 000000DE-000000E2
  91. label000000DE:
  92. 000000DE  0000 205F                ori.b      D0, 0x5F /* '_' */
  93. // end alternate branch 000000DE-000000E2
  94. label000000DE: // (misaligned)
  95. 000000E0  205F                     movea.l    A0, [A7]+
  96. 000000E2  584F                     addq.w     A7, 4
  97. 000000E4  4257                     clr.w      [A7]
  98. 000000E6  4ED0                     jmp        [A0]
  99. 000000E8  800C                     or.b       D0, A4
  100. 000000EA  706F                     moveq.l    D0, 0x6F
  101. 000000EC  7374                     moveq.l    D1, 0x74
  102. 000000EE  5F4C                     subq.w     A4, 7
  103. 000000F0  6F61                     ble        +0x63 /* 00000153 */
  104. 000000F2  6453                     bcc        +0x55 /* 00000147 */
  105. 000000F4  6567                     bcs        +0x69 /* 0000015D */
  106. 000000F6  0000 205F                ori.b      D0, 0x5F /* '_' */
  107. 000000FA  584F                     addq.w     A7, 4
  108. 000000FC  4257                     clr.w      [A7]
  109. 000000FE  4ED0                     jmp        [A0]
  110. 00000100  800D                     or.b       D0, A5
  111. 00000102  7072                     moveq.l    D0, 0x72
  112. 00000104  655F                     bcs        +0x61 /* 00000165 */
  113. 00000106  556E 6C6F                subq.w     [A6 + 0x6C6F], 2
  114. 0000010A  6164                     bsr        +0x66 /* 00000170 */
  115. 0000010C  5365                     subq.w     -[A5], 1
  116. 0000010E  6700 0000                beq        +0x2 /* 00000110 */
  117. // begin alternate branch 00000110-00000114
  118. label00000110:
  119. 00000110  0000 205F                ori.b      D0, 0x5F /* '_' */
  120. // end alternate branch 00000110-00000114
  121. label00000110: // (misaligned)
  122. 00000112  205F                     movea.l    A0, [A7]+
  123. 00000114  584F                     addq.w     A7, 4
  124. 00000116  4257                     clr.w      [A7]
  125. 00000118  4ED0                     jmp        [A0]
  126. 0000011A  800D                     or.b       D0, A5
  127. 0000011C  6572                     bcs        +0x74 /* 00000190 */
  128. 0000011E  726F                     moveq.l    D1, 0x6F
  129. 00000120  725F                     moveq.l    D1, 0x5F
  130. 00000122  6861                     bvc        +0x63 /* 00000185 */
  131. 00000124  6E64                     bgt        +0x66 /* 0000018A */
  132. 00000126  6C65                     bge        +0x67 /* 0000018D */
  133. label00000128:
  134. 00000128  7200                     moveq.l    D1, 0x00
  135. 0000012A  0000 0001                ori.b      D0, 0x1
  136. // begin alternate branch 0000012C-00000130
  137. label0000012C:
  138. 0000012C  0001 FF9C                ori.b      D1, 0x9C
  139. // end alternate branch 0000012C-00000130
  140. label0000012C: // (misaligned)
  141. 0000012E  FF9C                     .invalid   <<F/6/7>>
  142. 00000130  0002 FFB4                ori.b      D2, 0xB4
  143. 00000134  0003 FFCC                ori.b      D3, 0xCC
  144. 00000138  0004 FFE6                ori.b      D4, 0xE6
  145. 0000013C  0000 48E7                ori.b      D0, 0xE7
  146. // begin alternate branch 0000013E-00000142
  147. fn0000013E:
  148. 0000013E  48E7 80E0                movem.l    -[A7], D0,A0,A1,A2
  149. // end alternate branch 0000013E-00000142
  150. fn0000013E: // (misaligned)
  151. 00000140  80E0                     divu.w     D0, -[A0]
  152. 00000142  224D                     movea.l    A1, A5
  153. 00000144  D2F8 0934                add.w      A1, [0x00000934 /* CurJTOffset */]
  154. 00000148  2269 000C                movea.l    A1, [A1 + 0xC]
  155. 0000014C  45FA FFDE                lea.l      A2, [PC - 0x22 /* 0000012C, value 0x1FF9C, cstring "" */]
  156. label00000150:
  157. 00000150  301A                     move.w     D0, [A2]+
  158. 00000152  670A                     beq        +0xC /* 0000015E */
  159. 00000154  305A                     movea.w    A0, [A2]+
  160. 00000156  41FB 80D4                lea.l      A0, [PC + A0.w - 0x44]
  161. 0000015A  611A                     bsr        +0x1C /* 00000176 */
  162. 0000015C  60F2                     bra        -0xC /* 00000150 */
  163. label0000015E:
  164. 0000015E  4CDF 0701                movem.l    D0,A0,A1,A2, [A7]+
  165. 00000162  4E75                     rts
  166. 00000164  800D                     or.b       D0, A5
  167. 00000166  7365                     moveq.l    D1, 0x65
  168. 00000168  7475                     moveq.l    D2, 0x75
  169. 0000016A  705F                     moveq.l    D0, 0x5F
  170. 0000016C  7665                     moveq.l    D3, 0x65
  171. 0000016E  6374                     bls        +0x76 /* 000001E4 */
  172. fn00000170:
  173. 00000170  6F72                     ble        +0x74 /* 000001E4 */
  174. 00000172  7300                     moveq.l    D1, 0x00
  175. 00000174  0000 D040                ori.b      D0, 0x40 /* '@' */
  176. // begin alternate branch 00000176-00000178
  177. fn00000176:
  178. 00000176  D040                     add.w      D0, D0
  179. // end alternate branch 00000176-00000178
  180. fn00000176: // (misaligned)
  181. 00000178  D040                     add.w      D0, D0
  182. 0000017A  2F31 0000                move.l     -[A7], [A1 + D0.w]
  183. 0000017E  2388 0000                move.l     [A1 + D0.w], A0
  184. 00000182  205F                     movea.l    A0, [A7]+
  185. 00000184  4E75                     rts
  186. 00000186  800A                     or.b       D0, A2
  187. 00000188  7365                     moveq.l    D1, 0x65
  188. label0000018A:
  189. 0000018A  745F                     moveq.l    D2, 0x5F
  190. 0000018C  7665                     moveq.l    D3, 0x65
  191. 0000018E  6374                     bls        +0x76 /* 00000204 */
  192. label00000190:
  193. 00000190  6F72                     ble        +0x74 /* 00000204 */
  194. 00000192  0000 48E7                ori.b      D0, 0xE7
  195. // begin alternate branch 00000194-00000198
  196. fn00000194:
  197. 00000194  48E7 80C0                movem.l    -[A7], D0,A0,A1
  198. // end alternate branch 00000194-00000198
  199. fn00000194: // (misaligned)
  200. 00000196  80C0                     divu.w     D0, D0
  201. 00000198  4240                     clr.w      D0
  202. 0000019A  6100 04D0                bsr        +0x4D2 /* 0000066C */
  203. 0000019E  B0FC 0000                cmpa.w     A0, 0x0
  204. 000001A2  6602                     bne        +0x4 /* 000001A6 */
  205. 000001A4  A9FF                     syscall    Debugger
  206. label000001A6:
  207. 000001A6  598F                     subq.l     A7, 4
  208. 000001A8  2F08                     move.l     -[A7], A0
  209. 000001AA  A9A5                     syscall    GetResourceSizeOnDisk/SizeResource/SizeRsrc
  210. 000001AC  205F                     movea.l    A0, [A7]+
  211. 000001AE  D0F8 0934                add.w      A0, [0x00000934 /* CurJTOffset */]
  212. 000001B2  90FC 0010                sub.w      A0, 0x10
  213. 000001B6  43FA 0046                lea.l      A1, [PC + 0x46 /* 000001FE, value 0x0, cstring "" */]
  214. 000001BA  2288                     move.l     [A1], A0
  215. 000001BC  4CDF 0301                movem.l    D0,A0,A1, [A7]+
  216. 000001C0  4E75                     rts
  217. 000001C2  800E                     or.b       D0, A6
  218. 000001C4  7365                     moveq.l    D1, 0x65
  219. 000001C6  7475                     moveq.l    D2, 0x75
  220. 000001C8  705F                     moveq.l    D0, 0x5F
  221. 000001CA  6A74                     bpl        +0x76 /* 00000240 */
  222. 000001CC  5F6C 696D                subq.w     [A4 + 0x696D], 7
  223. 000001D0  6974                     bvs        +0x76 /* 00000246 */
  224. 000001D2  0000 01F3                ori.b      D0, 0xF3
  225. 000001D6  00DC                     .incomplete
  226. 000001D8  0000 0000                ori.b      D0, 0x0
  227. 000001DC  01F2                     .incomplete
  228. 000001DE  00C4                     .incomplete
  229. 000001E0  0000 0000                ori.b      D0, 0x0
  230. label000001E4:
  231. 000001E4  01F0                     .incomplete
  232. 000001E6  0112                     btst       [A2], D0
  233. 000001E8  0000 0000                ori.b      D0, 0x0
  234. 000001EC  01F1                     .incomplete
  235. 000001EE  0372 0000                bchg       [A2 + D0.w], D1
  236. 000001F2  0000 01F4                ori.b      D0, 0xF4
  237. 000001F6  00F4                     .incomplete
  238. 000001F8  0000 0000                ori.b      D0, 0x0
  239. 000001FC  0000 0000                ori.b      D0, 0x0
  240. 00000200  0000 303C                ori.b      D0, 0x3C /* '<' */
  241. // begin alternate branch 00000202-00000206
  242. fn00000202:
  243. 00000202  303C A88F                move.w     D0, 0xA88F
  244. // end alternate branch 00000202-00000206
  245. fn00000202: // (misaligned)
  246. label00000204:
  247. 00000204  A88F                     syscall    OSDispatch
  248. 00000206  A346                     syscall    GetOSTrapAddress, flags=3
  249. 00000208  2248                     movea.l    A1, A0
  250. 0000020A  303C A89F                move.w     D0, 0xA89F
  251. 0000020E  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  252. 00000210  B3C8                     cmpa.l     A1, A0
  253. 00000212  6706                     beq        +0x8 /* 0000021A */
  254. 00000214  43FA FFCE                lea.l      A1, [PC - 0x32 /* 000001E4, value 0x1F00112 */]
  255. 00000218  6004                     bra        +0x6 /* 0000021E */
  256. label0000021A:
  257. 0000021A  43FA FFB8                lea.l      A1, [PC - 0x48 /* 000001D4, value 0x1F300DC */]
  258. label0000021E:
  259. 0000021E  3011                     move.w     D0, [A1]
  260. 00000220  6716                     beq        +0x18 /* 00000238 */
  261. 00000222  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  262. 00000224  2348 0004                move.l     [A1 + 0x4], A0
  263. 00000228  3069 0002                movea.w    A0, [A1 + 0x2]
  264. 0000022C  41FB 80A6                lea.l      A0, [PC + A0.w - 0x90]
  265. 00000230  3011                     move.w     D0, [A1]
  266. 00000232  A647                     syscall    SetToolBoxTrapAddress/SetToolTrapAddress, flags=6
  267. 00000234  5049                     addq.w     A1, 8
  268. 00000236  60E6                     bra        -0x18 /* 0000021E */
  269. label00000238:
  270. 00000238  4E75                     rts
  271. 0000023A  800F                     or.b       D0, A7
  272. 0000023C  696E                     bvs        +0x70 /* 000002AC */
  273. 0000023E  7374                     moveq.l    D1, 0x74
  274. label00000240:
  275. 00000240  616C                     bsr        +0x6E /* 000002AE */
  276. 00000242  6C5F                     bge        +0x61 /* 000002A3 */
  277. 00000244  7061                     moveq.l    D0, 0x61
  278. label00000246:
  279. 00000246  7463                     moveq.l    D2, 0x63
  280. 00000248  6865                     bvc        +0x67 /* 000002AF */
  281. 0000024A  7300                     moveq.l    D1, 0x00
  282. 0000024C  0000 48E7                ori.b      D0, 0xE7
  283. // begin alternate branch 0000024E-00000252
  284. fn0000024E:
  285. 0000024E  48E7 00C0                movem.l    -[A7], A0,A1
  286. // end alternate branch 0000024E-00000252
  287. fn0000024E: // (misaligned)
  288. 00000250  00C0                     .incomplete
  289. 00000252  303C A88F                move.w     D0, 0xA88F
  290. 00000256  A346                     syscall    GetOSTrapAddress, flags=3
  291. 00000258  2248                     movea.l    A1, A0
  292. 0000025A  303C A89F                move.w     D0, 0xA89F
  293. 0000025E  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  294. 00000260  B3C8                     cmpa.l     A1, A0
  295. 00000262  6706                     beq        +0x8 /* 0000026A */
  296. 00000264  43FA FF7E                lea.l      A1, [PC - 0x82 /* 000001E4, value 0x1F00112 */]
  297. 00000268  6004                     bra        +0x6 /* 0000026E */
  298. label0000026A:
  299. 0000026A  43FA FF68                lea.l      A1, [PC - 0x98 /* 000001D4, value 0x1F300DC */]
  300. label0000026E:
  301. 0000026E  3011                     move.w     D0, [A1]
  302. 00000270  670A                     beq        +0xC /* 0000027C */
  303. 00000272  2069 0004                movea.l    A0, [A1 + 0x4]
  304. 00000276  A647                     syscall    SetToolBoxTrapAddress/SetToolTrapAddress, flags=6
  305. 00000278  5049                     addq.w     A1, 8
  306. 0000027A  60F2                     bra        -0xC /* 0000026E */
  307. label0000027C:
  308. 0000027C  4CDF 0300                movem.l    A0,A1, [A7]+
  309. 00000280  4E75                     rts
  310. 00000282  8011                     or.b       D0, [A1]
  311. 00000284  756E                     moveq.l    D2, 0x6E
  312. 00000286  696E                     bvs        +0x70 /* 000002F6 */
  313. 00000288  7374                     moveq.l    D1, 0x74
  314. 0000028A  616C                     bsr        +0x6E /* 000002F8 */
  315. 0000028C  6C5F                     bge        +0x61 /* 000002ED */
  316. 0000028E  7061                     moveq.l    D0, 0x61
  317. 00000290  7463                     moveq.l    D2, 0x63
  318. 00000292  6865                     bvc        +0x67 /* 000002F9 */
  319. 00000294  7300                     moveq.l    D1, 0x00
  320. 00000296  0000 2F3A                ori.b      D0, 0x3A /* ':' */
  321. 0000029A  FF46                     .extension 0xF46 <<F/4-5/7>> // unimplemented
  322. 0000029C  61B0                     bsr        -0x4E /* 0000024E */
  323. 0000029E  4E75                     rts
  324. 000002A0  800C                     or.b       D0, A4
  325. 000002A2  7061                     moveq.l    D0, 0x61
  326. 000002A4  7463                     moveq.l    D2, 0x63
  327. 000002A6  685F                     bvc        +0x61 /* 00000307 */
  328. 000002A8  4C61 756E                movem.l    D1,D2,D3,D5,D7,A1,A2,A4,A5,A6, -[A1]
  329. label000002AC:
  330. 000002AC  6368                     bls        +0x6A /* 00000316 */
  331. fn000002AE:
  332. 000002AE  0000 2F3A                ori.b      D0, 0x3A /* ':' */
  333. 000002B2  FF26                     .extension 0xF26 <<F/4-5/7>> // unimplemented
  334. 000002B4  6198                     bsr        -0x66 /* 0000024E */
  335. 000002B6  4E75                     rts
  336. 000002B8  800B                     or.b       D0, A3
  337. 000002BA  7061                     moveq.l    D0, 0x61
  338. 000002BC  7463                     moveq.l    D2, 0x63
  339. 000002BE  685F                     bvc        +0x61 /* 0000031F */
  340. 000002C0  4368 6169                chk.w      D1, [A0 + 0x6169]
  341. 000002C4  6E00 0000                bgt        +0x2 /* 000002C6 */
  342. // begin alternate branch 000002C6-000002CC
  343. label000002C6:
  344. 000002C6  0000 2F3A                ori.b      D0, 0x3A /* ':' */
  345. 000002CA  FF2E                     .extension 0xF2E <<F/4-5/7>> // unimplemented
  346. // end alternate branch 000002C6-000002CC
  347. label000002C6: // (misaligned)
  348. 000002C8  2F3A FF2E                move.l     -[A7], [PC - 0xD2 /* 000001F8, value 0x0, cstring "" */]
  349. 000002CC  6180                     bsr        -0x7E /* 0000024E */
  350. 000002CE  4E75                     rts
  351. 000002D0  8011                     or.b       D0, [A1]
  352. 000002D2  7061                     moveq.l    D0, 0x61
  353. 000002D4  7463                     moveq.l    D2, 0x63
  354. 000002D6  685F                     bvc        +0x61 /* 00000337 */
  355. 000002D8  4578 6974                chk.w      D2, [0x00006974]
  356. 000002DC  546F 5368                addq.w     [A7 + 0x5368], 2
  357. 000002E0  656C                     bcs        +0x6E /* 0000034E */
  358. 000002E2  6C00 0000                bge        +0x2 /* 000002E4 */
  359. // begin alternate branch 000002E4-000002EC
  360. label000002E4:
  361. 000002E4  0000 48E7                ori.b      D0, 0xE7
  362. 000002E8  F0C0 204D                .extension 0x0C0 <<F/2-3/0>> // unimplemented
  363. // end alternate branch 000002E4-000002EC
  364. label000002E4: // (misaligned)
  365. 000002E6  48E7 F0C0                movem.l    -[A7], D0,D1,D2,D3,A0,A1
  366. 000002EA  204D                     movea.l    A0, A5
  367. 000002EC  D0F8 0934                add.w      A0, [0x00000934 /* CurJTOffset */]
  368. 000002F0  0C68 FFFF 000A           cmpi.w     [A0 + 0xA], 0xFFFF
  369. label000002F6:
  370. 000002F6  6600 014E                bne        +0x150 /* 00000446 */
  371. // begin alternate branch 000002F8-000002FA
  372. fn000002F8:
  373. 000002F8  014E                     bchg       A6, D0
  374. // end alternate branch 000002F8-000002FA
  375. fn000002F8: // (misaligned)
  376. 000002FA  7600                     moveq.l    D3, 0x00
  377. 000002FC  226F 0018                movea.l    A1, [A7 + 0x18]
  378. 00000300  B3CD                     cmpa.l     A1, A5
  379. 00000302  6D0C                     blt        +0xE /* 00000310 */
  380. 00000304  41FA FEF8                lea.l      A0, [PC - 0x108 /* 000001FE, value 0x0, cstring "" */]
  381. 00000308  2050                     movea.l    A0, [A0]
  382. 0000030A  D1CD                     add.l      A0, A5
  383. 0000030C  B3C8                     cmpa.l     A1, A0
  384. 0000030E  6F02                     ble        +0x4 /* 00000312 */
  385. label00000310:
  386. 00000310  7601                     moveq.l    D3, 0x01
  387. label00000312:
  388. 00000312  4A03                     tst.b      D3
  389. 00000314  660E                     bne        +0x10 /* 00000324 */
  390. label00000316:
  391. 00000316  303C 0001                move.w     D0, 0x1
  392. 0000031A  41EF 0018                lea.l      A0, [A7 + 0x18]
  393. 0000031E  6100 0142                bsr        +0x144 /* 00000462 */
  394. 00000322  6014                     bra        +0x16 /* 00000338 */
  395. label00000324:
  396. 00000324  302F 001C                move.w     D0, [A7 + 0x1C]
  397. 00000328  6100 036E                bsr        +0x370 /* 00000698 */
  398. 0000032C  2250                     movea.l    A1, [A0]
  399. 0000032E  0C51 FFFF                cmpi.w     [A1], 0xFFFF
  400. 00000332  6600 0112                bne        +0x114 /* 00000446 */
  401. 00000336  6016                     bra        +0x18 /* 0000034E */
  402. label00000338:
  403. 00000338  226F 0018                movea.l    A1, [A7 + 0x18]
  404. 0000033C  3029 FFFC                move.w     D0, [A1 - 0x4]
  405. 00000340  6100 0356                bsr        +0x358 /* 00000698 */
  406. 00000344  2250                     movea.l    A1, [A0]
  407. 00000346  0C51 FFFF                cmpi.w     [A1], 0xFFFF
  408. 0000034A  6600 00EE                bne        +0xF0 /* 0000043A */
  409. label0000034E:
  410. 0000034E  A069                     syscall    HGetState
  411. 00000350  0800 0007                btst.b     D0, 0x7
  412. 00000354  6608                     bne        +0xA /* 0000035E */
  413. 00000356  4A38 0BB2                tst.b      [0x00000BB2 /* SegHiEnable */]
  414. 0000035A  6702                     beq        +0x4 /* 0000035E */
  415. 0000035C  A064                     syscall    MoveHHi
  416. label0000035E:
  417. 0000035E  A029                     syscall    HLock
  418. 00000360  2010                     move.l     D0, [A0]
  419. 00000362  A055                     syscall    StripAddress
  420. 00000364  2040                     movea.l    A0, D0
  421. 00000366  224D                     movea.l    A1, A5
  422. 00000368  D2F8 0934                add.w      A1, [0x00000934 /* CurJTOffset */]
  423. 0000036C  2228 0008                move.l     D1, [A0 + 0x8]
  424. 00000370  671E                     beq        +0x20 /* 00000390 */
  425. 00000372  D3E8 0004                add.l      A1, [A0 + 0x4]
  426. 00000376  0C69 4EF9 0002           cmpi.w     [A1 + 0x2], 0x4EF9
  427. 0000037C  6700 0094                beq        +0x96 /* 00000412 */
  428. label00000380:
  429. 00000380  D1A9 0004                add.l      [A1 + 0x4], D0
  430. 00000384  337C 4EF9 0002           move.w     [A1 + 0x2], 0x4EF9
  431. 0000038A  5049                     addq.w     A1, 8
  432. 0000038C  5381                     subq.l     D1, 1
  433. 0000038E  66F0                     bne        -0xE /* 00000380 */
  434. label00000390:
  435. 00000390  224D                     movea.l    A1, A5
  436. 00000392  D2F8 0934                add.w      A1, [0x00000934 /* CurJTOffset */]
  437. 00000396  2228 0010                move.l     D1, [A0 + 0x10]
  438. 0000039A  671C                     beq        +0x1E /* 000003B8 */
  439. 0000039C  D3E8 000C                add.l      A1, [A0 + 0xC]
  440. 000003A0  0C69 4EF9 0002           cmpi.w     [A1 + 0x2], 0x4EF9
  441. 000003A6  676A                     beq        +0x6C /* 00000412 */
  442. label000003A8:
  443. 000003A8  D1A9 0004                add.l      [A1 + 0x4], D0
  444. 000003AC  337C 4EF9 0002           move.w     [A1 + 0x2], 0x4EF9
  445. 000003B2  5049                     addq.w     A1, 8
  446. 000003B4  5381                     subq.l     D1, 1
  447. 000003B6  66F0                     bne        -0xE /* 000003A8 */
  448. label000003B8:
  449. 000003B8  220D                     move.l     D1, A5
  450. 000003BA  92A8 0018                sub.l      D1, [A0 + 0x18]
  451. 000003BE  6718                     beq        +0x1A /* 000003D8 */
  452. 000003C0  4AA8 0014                tst.l      [A0 + 0x14]
  453. 000003C4  6712                     beq        +0x14 /* 000003D8 */
  454. 000003C6  214D 0018                move.l     [A0 + 0x18], A5
  455. 000003CA  2F08                     move.l     -[A7], A0
  456. 000003CC  2248                     movea.l    A1, A0
  457. 000003CE  D1E8 0014                add.l      A0, [A0 + 0x14]
  458. 000003D2  6100 034E                bsr        +0x350 /* 00000722 */
  459. 000003D6  205F                     movea.l    A0, [A7]+
  460. label000003D8:
  461. 000003D8  2208                     move.l     D1, A0
  462. 000003DA  92A8 0020                sub.l      D1, [A0 + 0x20]
  463. 000003DE  6724                     beq        +0x26 /* 00000404 */
  464. 000003E0  4AA8 0020                tst.l      [A0 + 0x20]
  465. 000003E4  6606                     bne        +0x8 /* 000003EC */
  466. 000003E6  0681 0000 0028           addi.l     D1, 0x28 /* '(' */
  467. label000003EC:
  468. 000003EC  4AA8 001C                tst.l      [A0 + 0x1C]
  469. 000003F0  6712                     beq        +0x14 /* 00000404 */
  470. 000003F2  2148 0020                move.l     [A0 + 0x20], A0
  471. 000003F6  2F08                     move.l     -[A7], A0
  472. 000003F8  2248                     movea.l    A1, A0
  473. 000003FA  D1E8 001C                add.l      A0, [A0 + 0x1C]
  474. 000003FE  6100 0322                bsr        +0x324 /* 00000722 */
  475. 00000402  205F                     movea.l    A0, [A7]+
  476. label00000404:
  477. 00000404  4A03                     tst.b      D3
  478. 00000406  660A                     bne        +0xC /* 00000412 */
  479. 00000408  303C 0002                move.w     D0, 0x2
  480. 0000040C  41EF 0018                lea.l      A0, [A7 + 0x18]
  481. 00000410  6150                     bsr        +0x52 /* 00000462 */
  482. label00000412:
  483. 00000412  4EBA FC7C                jsr        [PC - 0x384 /* 00000090 */]
  484. 00000416  4A03                     tst.b      D3
  485. 00000418  6710                     beq        +0x12 /* 0000042A */
  486. 0000041A  4CDF 030F                movem.l    D0,D1,D2,D3,A0,A1, [A7]+
  487. 0000041E  5D97                     subq.l     [A7], 6
  488. 00000420  2F57 0002                move.l     [A7 + 0x2], [A7]
  489. 00000424  4FEF 0002                lea.l      A7, [A7 + 0x2]
  490. 00000428  6006                     bra        +0x8 /* 00000430 */
  491. label0000042A:
  492. 0000042A  4CDF 030F                movem.l    D0,D1,D2,D3,A0,A1, [A7]+
  493. 0000042E  5597                     subq.l     [A7], 2
  494. label00000430:
  495. 00000430  4A38 012D                tst.b      [0x0000012D /* LoadTrap */]
  496. 00000434  6702                     beq        +0x4 /* 00000438 */
  497. 00000436  A9FF                     syscall    Debugger
  498. label00000438:
  499. 00000438  4E75                     rts
  500. label0000043A:
  501. 0000043A  303C 0002                move.w     D0, 0x2
  502. 0000043E  204F                     movea.l    A0, A7
  503. 00000440  41E8 0018                lea.l      A0, [A0 + 0x18]
  504. 00000444  611C                     bsr        +0x1E /* 00000462 */
  505. label00000446:
  506. 00000446  4CDF 030F                movem.l    D0,D1,D2,D3,A0,A1, [A7]+
  507. 0000044A  2F3A FD9C                move.l     -[A7], [PC - 0x264 /* 000001E8, value 0x0, cstring "" */]
  508. 0000044E  4E75                     rts
  509. 00000450  800D                     or.b       D0, A5
  510. 00000452  7061                     moveq.l    D0, 0x61
  511. 00000454  7463                     moveq.l    D2, 0x63
  512. 00000456  685F                     bvc        +0x61 /* 000004B7 */
  513. 00000458  4C6F 6164 5365           movem.l    D2,D5,D6,A0,A5,A6, [A7 + 0x5365]
  514. 0000045E  6700 0000                beq        +0x2 /* 00000460 */
  515. // begin alternate branch 00000460-00000478
  516. label00000460:
  517. 00000460  0000 48E7                ori.b      D0, 0xE7
  518. fn00000462: // (misaligned)
  519. 00000464  F0C0 4CEF                .extension 0x0C0 <<F/2-3/0>> // unimplemented
  520. 00000468  030F                     btst       A7, D1
  521. 0000046A  001C 9EFC                ori.b      [A4]+, 0xFC
  522. 0000046E  0058 48EF                ori.w      [A0]+, 0x48EF
  523. 00000472  7FFF                     moveq.l    D7, 0xFFFFFFFF
  524. 00000474  000A 224F                ori.b      A2, 0x4F /* 'O' */
  525. // end alternate branch 00000460-00000478
  526. label00000460: // (misaligned)
  527. fn00000462:
  528. 00000462  48E7 F0C0                movem.l    -[A7], D0,D1,D2,D3,A0,A1
  529. 00000466  4CEF 030F 001C           movem.l    D0,D1,D2,D3,A0,A1, [A7 + 0x1C]
  530. 0000046C  9EFC 0058                sub.w      A7, 0x58 /* 'X' */
  531. 00000470  48EF 7FFF 000A           movem.l    [A7 + 0xA], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4,A5,A6
  532. 00000476  224F                     movea.l    A1, A7
  533. 00000478  41EF 0068                lea.l      A0, [A7 + 0x68]
  534. 0000047C  2050                     movea.l    A0, [A0]
  535. 0000047E  4240                     clr.w      D0
  536. 00000480  6160                     bsr        +0x62 /* 000004E2 */
  537. 00000482  43E9 0058                lea.l      A1, [A1 + 0x58]
  538. 00000486  2011                     move.l     D0, [A1]
  539. 00000488  6128                     bsr        +0x2A /* 000004B2 */
  540. 0000048A  554F                     subq.w     A7, 2
  541. 0000048C  486F 0002                pea.l      [A7 + 0x2]
  542. 00000490  4E90                     jsr        [A0]
  543. 00000492  4FEF 005A                lea.l      A7, [A7 + 0x5A]
  544. 00000496  4CDF 030F                movem.l    D0,D1,D2,D3,A0,A1, [A7]+
  545. 0000049A  4E75                     rts
  546. 0000049C  8011                     or.b       D0, [A1]
  547. 0000049E  6361                     bls        +0x63 /* 00000501 */
  548. 000004A0  6C6C                     bge        +0x6E /* 0000050E */
  549. 000004A2  5F75 7365                subq.w     <<invalid full ext with IS == 1 and I/IS == 5>>, 7
  550. 000004A6  725F                     moveq.l    D1, 0x5F
  551. 000004A8  6861                     bvc        +0x63 /* 0000050B */
  552. 000004AA  6E64                     bgt        +0x66 /* 00000510 */
  553. 000004AC  6C65                     bge        +0x67 /* 00000513 */
  554. 000004AE  7200                     moveq.l    D1, 0x00
  555. 000004B0  0000 2F09                ori.b      D0, 0x9 /* '\t' */
  556. // begin alternate branch 000004B2-000004B4
  557. fn000004B2:
  558. 000004B2  2F09                     move.l     -[A7], A1
  559. // end alternate branch 000004B2-000004B4
  560. fn000004B2: // (misaligned)
  561. 000004B4  224D                     movea.l    A1, A5
  562. 000004B6  D2F8 0934                add.w      A1, [0x00000934 /* CurJTOffset */]
  563. 000004BA  2269 000C                movea.l    A1, [A1 + 0xC]
  564. 000004BE  D040                     add.w      D0, D0
  565. 000004C0  D040                     add.w      D0, D0
  566. 000004C2  41F1 0000                lea.l      A0, [A1 + D0.w]
  567. 000004C6  2050                     movea.l    A0, [A0]
  568. 000004C8  225F                     movea.l    A1, [A7]+
  569. 000004CA  4E75                     rts
  570. 000004CC  8012                     or.b       D0, [A2]
  571. 000004CE  7365                     moveq.l    D1, 0x65
  572. 000004D0  745F                     moveq.l    D2, 0x5F
  573. 000004D2  7665                     moveq.l    D3, 0x65
  574. 000004D4  6374                     bls        +0x76 /* 0000054A */
  575. 000004D6  6F72                     ble        +0x74 /* 0000054A */
  576. 000004D8  5F61                     subq.w     -[A1], 7
  577. 000004DA  6464                     bcc        +0x66 /* 00000540 */
  578. 000004DC  7265                     moveq.l    D1, 0x65
  579. 000004DE  7373                     moveq.l    D1, 0x73
  580. 000004E0  0000 48E7                ori.b      D0, 0xE7
  581. // begin alternate branch 000004E2-000004E6
  582. fn000004E2:
  583. 000004E2  48E7 8080                movem.l    -[A7], D0,A0
  584. // end alternate branch 000004E2-000004E6
  585. fn000004E2: // (misaligned)
  586. 000004E4  8080                     or.l       D0, D0
  587. 000004E6  32BC FFFF                move.w     [A1], 0xFFFF
  588. 000004EA  42A9 0054                clr.l      [A1 + 0x54]
  589. 000004EE  3340 0052                move.w     [A1 + 0x52], D0
  590. 000004F2  2348 0002                move.l     [A1 + 0x2], A0
  591. 000004F6  58A9 0002                addq.l     [A1 + 0x2], 4
  592. 000004FA  2050                     movea.l    A0, [A0]
  593. 000004FC  5548                     subq.w     A0, 2
  594. 000004FE  2348 0006                move.l     [A1 + 0x6], A0
  595. 00000502  3368 FFFE 0046           move.w     [A1 + 0x46], [A0 - 0x2]
  596. 00000508  237C 434F 4445 0048      move.l     [A1 + 0x48], 0x434F4445 /* 'CODE' */
  597. // begin alternate branch 0000050E-00000514
  598. label0000050E:
  599. 0000050E  0048 3028                ori.w      A0, 0x3028 /* '0(' */
  600. label00000510: // (misaligned)
  601. 00000512  FFFE                     .invalid   <<F/7/7>>
  602. // end alternate branch 0000050E-00000514
  603. label0000050E: // (misaligned)
  604. label00000510:
  605. 00000510  3028 FFFE                move.w     D0, [A0 - 0x2]
  606. 00000514  6100 0156                bsr        +0x158 /* 0000066C */
  607. 00000518  4269 0050                clr.w      [A1 + 0x50]
  608. 0000051C  4A90                     tst.l      [A0]
  609. 0000051E  6706                     beq        +0x8 /* 00000526 */
  610. 00000520  137C 00FF 0050           move.b     [A1 + 0x50], 0xFF
  611. label00000526:
  612. 00000526  598F                     subq.l     A7, 4
  613. 00000528  2F08                     move.l     -[A7], A0
  614. 0000052A  A9A5                     syscall    GetResourceSizeOnDisk/SizeResource/SizeRsrc
  615. 0000052C  235F 004C                move.l     [A1 + 0x4C], [A7]+
  616. 00000530  4CDF 0101                movem.l    D0,A0, [A7]+
  617. 00000534  4E75                     rts
  618. 00000536  800B                     or.b       D0, A3
  619. 00000538  6669                     bne        +0x6B /* 000005A3 */
  620. 0000053A  6C6C                     bge        +0x6E /* 000005A8 */
  621. 0000053C  5F73 7472                subq.w     [A3 + D7.w * 4 + 0x72], 7
  622. label00000540:
  623. 00000540  7563                     moveq.l    D2, 0x63
  624. 00000542  7400                     moveq.l    D2, 0x00
  625. 00000544  0000 48E7                ori.b      D0, 0xE7
  626. 00000548  E0C0                     asr   .w   D0
  627. label0000054A:
  628. 0000054A  206F 0018                movea.l    A0, [A7 + 0x18]
  629. 0000054E  0C50 4EF9                cmpi.w     [A0], 0x4EF9
  630. 00000552  6600 00FA                bne        +0xFC /* 0000064E */
  631. 00000556  224D                     movea.l    A1, A5
  632. 00000558  D2F8 0934                add.w      A1, [0x00000934 /* CurJTOffset */]
  633. 0000055C  0C69 FFFF 000A           cmpi.w     [A1 + 0xA], 0xFFFF
  634. 00000562  6600 00EA                bne        +0xEC /* 0000064E */
  635. 00000566  3028 FFFE                move.w     D0, [A0 - 0x2]
  636. 0000056A  6100 0100                bsr        +0x102 /* 0000066C */
  637. 0000056E  2F08                     move.l     -[A7], A0
  638. 00000570  2050                     movea.l    A0, [A0]
  639. 00000572  0C50 FFFF                cmpi.w     [A0], 0xFFFF
  640. 00000576  205F                     movea.l    A0, [A7]+
  641. 00000578  6600 00D4                bne        +0xD6 /* 0000064E */
  642. 0000057C  48E7 00C0                movem.l    -[A7], A0,A1
  643. 00000580  4CEF 0307 0008           movem.l    D0,D1,D2,A0,A1, [A7 + 0x8]
  644. 00000586  9EFC 0058                sub.w      A7, 0x58 /* 'X' */
  645. 0000058A  48EF 7FFF 000A           movem.l    [A7 + 0xA], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4,A5,A6
  646. 00000590  3EBC FFFF                move.w     [A7], 0xFFFF
  647. 00000594  42AF 0054                clr.l      [A7 + 0x54]
  648. 00000598  426F 0052                clr.w      [A7 + 0x52]
  649. 0000059C  204F                     movea.l    A0, A7
  650. 0000059E  41E8 0058                lea.l      A0, [A0 + 0x58]
  651. 000005A2  2250                     movea.l    A1, [A0]
  652. 000005A4  41E8 001C                lea.l      A0, [A0 + 0x1C]
  653. label000005A8:
  654. 000005A8  2F48 0002                move.l     [A7 + 0x2], A0
  655. 000005AC  2068 0004                movea.l    A0, [A0 + 0x4]
  656. 000005B0  2F48 0006                move.l     [A7 + 0x6], A0
  657. 000005B4  3F68 FFFE 0046           move.w     [A7 + 0x46], [A0 - 0x2]
  658. 000005BA  2F7C 434F 4445 0048      move.l     [A7 + 0x48], 0x434F4445 /* 'CODE' */
  659. 000005C2  426F 0050                clr.w      [A7 + 0x50]
  660. 000005C6  4A91                     tst.l      [A1]
  661. 000005C8  6706                     beq        +0x8 /* 000005D0 */
  662. 000005CA  1F7C 00FF 0050           move.b     [A7 + 0x50], 0xFF
  663. label000005D0:
  664. 000005D0  598F                     subq.l     A7, 4
  665. 000005D2  2F09                     move.l     -[A7], A1
  666. 000005D4  A9A5                     syscall    GetResourceSizeOnDisk/SizeResource/SizeRsrc
  667. 000005D6  2F5F 004C                move.l     [A7 + 0x4C], [A7]+
  668. 000005DA  303C 0003                move.w     D0, 0x3
  669. 000005DE  6100 FED2                bsr        -0x12C /* 000004B2 */
  670. 000005E2  554F                     subq.w     A7, 2
  671. 000005E4  486F 0002                pea.l      [A7 + 0x2]
  672. 000005E8  4E90                     jsr        [A0]
  673. 000005EA  544F                     addq.w     A7, 2
  674. 000005EC  DEFC 0058                add.w      A7, 0x58 /* 'X' */
  675. 000005F0  4CDF 0300                movem.l    A0,A1, [A7]+
  676. 000005F4  A02A                     syscall    HUnlock
  677. 000005F6  2010                     move.l     D0, [A0]
  678. 000005F8  A055                     syscall    StripAddress
  679. 000005FA  2040                     movea.l    A0, D0
  680. 000005FC  2228 0008                move.l     D1, [A0 + 0x8]
  681. 00000600  6716                     beq        +0x18 /* 00000618 */
  682. 00000602  D3E8 0004                add.l      A1, [A0 + 0x4]
  683. 00000606  2008                     move.l     D0, A0
  684. label00000608:
  685. 00000608  91A9 0004                sub.l      [A1 + 0x4], D0
  686. 0000060C  337C A9F0 0002           move.w     [A1 + 0x2], 0xA9F0
  687. 00000612  5049                     addq.w     A1, 8
  688. 00000614  5381                     subq.l     D1, 1
  689. 00000616  66F0                     bne        -0xE /* 00000608 */
  690. label00000618:
  691. 00000618  224D                     movea.l    A1, A5
  692. 0000061A  D2F8 0934                add.w      A1, [0x00000934 /* CurJTOffset */]
  693. 0000061E  2228 0010                move.l     D1, [A0 + 0x10]
  694. 00000622  6718                     beq        +0x1A /* 0000063C */
  695. 00000624  D3E8 000C                add.l      A1, [A0 + 0xC]
  696. 00000628  2008                     move.l     D0, A0
  697. label0000062A:
  698. 0000062A  91A9 0004                sub.l      [A1 + 0x4], D0
  699. 0000062E  337C A9F0 0002           move.w     [A1 + 0x2], 0xA9F0
  700. 00000634  5049                     addq.w     A1, 8
  701. 00000636  5381                     subq.l     D1, 1
  702. 00000638  66F0                     bne        -0xE /* 0000062A */
  703. 0000063A  6006                     bra        +0x8 /* 00000642 */
  704. label0000063C:
  705. 0000063C  2228 0008                move.l     D1, [A0 + 0x8]
  706. 00000640  670C                     beq        +0xE /* 0000064E */
  707. label00000642:
  708. 00000642  6100 FA4C                bsr        -0x5B2 /* 00000090 */
  709. 00000646  4CDF 0307                movem.l    D0,D1,D2,A0,A1, [A7]+
  710. 0000064A  2E9F                     move.l     [A7], [A7]+
  711. 0000064C  4E75                     rts
  712. label0000064E:
  713. 0000064E  4CDF 0307                movem.l    D0,D1,D2,A0,A1, [A7]+
  714. 00000652  2F3A FB9C                move.l     -[A7], [PC - 0x464 /* 000001F0, value 0x0, cstring "" */]
  715. 00000656  4E75                     rts
  716. 00000658  800F                     or.b       D0, A7
  717. 0000065A  7061                     moveq.l    D0, 0x61
  718. 0000065C  7463                     moveq.l    D2, 0x63
  719. 0000065E  685F                     bvc        +0x61 /* 000006BF */
  720. 00000660  556E 6C6F                subq.w     [A6 + 0x6C6F], 2
  721. 00000664  6164                     bsr        +0x66 /* 000006CA */
  722. 00000666  5365                     subq.w     -[A5], 1
  723. 00000668  6700 0000                beq        +0x2 /* 0000066A */
  724. // begin alternate branch 0000066A-00000672
  725. label0000066A:
  726. 0000066A  0000 51F8                ori.b      D0, 0xF8
  727. fn0000066C: // (misaligned)
  728. 0000066E  0A5E 594F                xori.w     [A6]+, 0x594F /* 'YO' */
  729. // end alternate branch 0000066A-00000672
  730. label0000066A: // (misaligned)
  731. fn0000066C:
  732. 0000066C  51F8 0A5E                sf         [0x00000A5E /* ResLoad */]
  733. 00000670  594F                     subq.w     A7, 4
  734. 00000672  2F3C 434F 4445           move.l     -[A7], 0x434F4445 /* 'CODE' */
  735. 00000678  3F00                     move.w     -[A7], D0
  736. 0000067A  A9A0                     syscall    GetResource
  737. 0000067C  3038 0A60                move.w     D0, [0x00000A60 /* ResErr */]
  738. 00000680  205F                     movea.l    A0, [A7]+
  739. 00000682  50F8 0A5E                st         [0x00000A5E /* ResLoad */]
  740. 00000686  4E75                     rts
  741. 00000688  800B                     or.b       D0, A3
  742. 0000068A  6765                     beq        +0x67 /* 000006F1 */
  743. 0000068C  745F                     moveq.l    D2, 0x5F
  744. 0000068E  7265                     moveq.l    D1, 0x65
  745. 00000690  735F                     moveq.l    D1, 0x5F
  746. 00000692  6864                     bvc        +0x66 /* 000006F8 */
  747. 00000694  6C00 0000                bge        +0x2 /* 00000696 */
  748. // begin alternate branch 00000696-0000069E
  749. label00000696:
  750. 00000696  0000 50F8                ori.b      D0, 0xF8
  751. fn00000698: // (misaligned)
  752. 0000069A  0A5E 594F                xori.w     [A6]+, 0x594F /* 'YO' */
  753. // end alternate branch 00000696-0000069E
  754. label00000696: // (misaligned)
  755. fn00000698:
  756. 00000698  50F8 0A5E                st         [0x00000A5E /* ResLoad */]
  757. 0000069C  594F                     subq.w     A7, 4
  758. 0000069E  2F3C 434F 4445           move.l     -[A7], 0x434F4445 /* 'CODE' */
  759. 000006A4  3F00                     move.w     -[A7], D0
  760. 000006A6  A9A0                     syscall    GetResource
  761. 000006A8  205F                     movea.l    A0, [A7]+
  762. 000006AA  4A78 0A60                tst.w      [0x00000A60 /* ResErr */]
  763. 000006AE  6762                     beq        +0x64 /* 00000712 */
  764. 000006B0  4CEF 030F 0004           movem.l    D0,D1,D2,D3,A0,A1, [A7 + 0x4]
  765. 000006B6  9EFC 0058                sub.w      A7, 0x58 /* 'X' */
  766. 000006BA  48EF 7FFF 000A           movem.l    [A7 + 0xA], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4,A5,A6
  767. 000006C0  224F                     movea.l    A1, A7
  768. 000006C2  3038 0A60                move.w     D0, [0x00000A60 /* ResErr */]
  769. 000006C6  41EF 0074                lea.l      A0, [A7 + 0x74]
  770. fn000006CA:
  771. 000006CA  6100 FE16                bsr        -0x1E8 /* 000004E2 */
  772. 000006CE  303C 0004                move.w     D0, 0x4
  773. 000006D2  6100 FDDE                bsr        -0x220 /* 000004B2 */
  774. 000006D6  554F                     subq.w     A7, 2
  775. 000006D8  486F 0002                pea.l      [A7 + 0x2]
  776. 000006DC  4E90                     jsr        [A0]
  777. 000006DE  301F                     move.w     D0, [A7]+
  778. 000006E0  0C40 0001                cmpi.w     D0, 0x1
  779. 000006E4  6610                     bne        +0x12 /* 000006F6 */
  780. 000006E6  2F6F 0006 0074           move.l     [A7 + 0x74], [A7 + 0x6]
  781. 000006EC  4FEF 005C                lea.l      A7, [A7 + 0x5C]
  782. 000006F0  4CDF 030F                movem.l    D0,D1,D2,D3,A0,A1, [A7]+
  783. 000006F4  601C                     bra        +0x1E /* 00000712 */
  784. label000006F6:
  785. 000006F6  0C40 0002                cmpi.w     D0, 0x2
  786. // begin alternate branch 000006F8-000006FC
  787. label000006F8:
  788. 000006F8  0002 660C                ori.b      D2, 0xC
  789. // end alternate branch 000006F8-000006FC
  790. label000006F8: // (misaligned)
  791. 000006FA  660C                     bne        +0xE /* 00000708 */
  792. 000006FC  4FEF 005C                lea.l      A7, [A7 + 0x5C]
  793. 00000700  4CDF 030F                movem.l    D0,D1,D2,D3,A0,A1, [A7]+
  794. 00000704  584F                     addq.w     A7, 4
  795. 00000706  600A                     bra        +0xC /* 00000712 */
  796. label00000708:
  797. 00000708  6100 FB44                bsr        -0x4BA /* 0000024E */
  798. 0000070C  700F                     moveq.l    D0, 0x0F
  799. 0000070E  A9C9                     syscall    SysError
  800. 00000710  A9FF                     syscall    Debugger
  801. label00000712:
  802. 00000712  4E75                     rts
  803. 00000714  8009                     or.b       D0, A1
  804. 00000716  6C6F                     bge        +0x71 /* 00000787 */
  805. 00000718  6164                     bsr        +0x66 /* 0000077E */
  806. 0000071A  5F63                     subq.w     -[A3], 7
  807. 0000071C  6F64                     ble        +0x66 /* 00000782 */
  808. 0000071E  6500 0000                bcs        +0x2 /* 00000720 */
  809. // begin alternate branch 00000720-00000724
  810. label00000720:
  811. 00000720  0000 7000                ori.b      D0, 0x0
  812. // end alternate branch 00000720-00000724
  813. label00000720: // (misaligned)
  814. fn00000722:
  815. 00000722  7000                     moveq.l    D0, 0x00
  816. 00000724  1018                     move.b     D0, [A0]+
  817. 00000726  670A                     beq        +0xC /* 00000732 */
  818. 00000728  6A12                     bpl        +0x14 /* 0000073C */
  819. 0000072A  0880 0007                bclr.b     D0, 0x7
  820. 0000072E  6114                     bsr        +0x16 /* 00000744 */
  821. 00000730  600A                     bra        +0xC /* 0000073C */
  822. label00000732:
  823. 00000732  6110                     bsr        +0x12 /* 00000744 */
  824. 00000734  6712                     beq        +0x14 /* 00000748 */
  825. 00000736  610C                     bsr        +0xE /* 00000744 */
  826. 00000738  610A                     bsr        +0xC /* 00000744 */
  827. 0000073A  6108                     bsr        +0xA /* 00000744 */
  828. label0000073C:
  829. 0000073C  D080                     add.l      D0, D0
  830. 0000073E  D3C0                     add.l      A1, D0
  831. 00000740  D391                     add.l      [A1], D1
  832. 00000742  60DE                     bra        -0x20 /* 00000722 */
  833. fn00000744:
  834. 00000744  E188                     lsl        D0, 8
  835. 00000746  1018                     move.b     D0, [A0]+
  836. label00000748:
  837. 00000748  4E75                     rts
  838. 0000074A  8008                     or.b       D0, A0
  839. 0000074C  5265                     addq.w     -[A5], 1
  840. 0000074E  6C6F                     bge        +0x71 /* 000007BF */
  841. 00000750  6361                     bls        +0x63 /* 000007B3 */
  842. 00000752  7465                     moveq.l    D2, 0x65
  843. 00000754  0000                     .incomplete
  844.